﻿namespace Microsoft.VisualStudio.TextTemplating.CommandLine
{
    using System;
    using System.ComponentModel;

    [Serializable, DefaultProperty("Name"), TypeConverter(typeof(DirectiveProcessorConverter)), DisplayName("Directive processor"), Description("An object to hold information to resolve a .Net type.")]
    internal class DirectiveProcessorRecord : Component
    {
        private string assembly;
        private string @class;
        private string codeBase;
        private string name;

        public DirectiveProcessorRecord()
        {
        }

        public DirectiveProcessorRecord(string name, string codeBase, string assembly, string @class)
        {
            this.Name = name;
            this.Class = @class;
            this.CodeBase = codeBase;
            this.Assembly = assembly;
        }

        public string Assembly
        {
            get
            {
                return this.assembly;
            }
            set
            {
                this.assembly = value;
            }
        }

        public string Class
        {
            get
            {
                return this.@class;
            }
            set
            {
                this.@class = value;
            }
        }

        public string CodeBase
        {
            get
            {
                return this.codeBase;
            }
            set
            {
                this.codeBase = value;
            }
        }

        [DisplayName("Name")]
        public string Name
        {
            get
            {
                return this.name;
            }
            set
            {
                this.name = value;
            }
        }
    }
}

